Audio device applications

ABSTRACT

A coil assembly for integration into a transducer is presented. The coil assembly may include a metal bobbin assembly, a wire coil, and one or more nonconductive printed circuit board (PCB) stiffeners. A speaker that renders micro noise in an artificial reality environment for improving simulated presence is further presented. The speaker may generate a plurality of micro noises based in part on the determined state of the virtual object. The speaker may spatialize the plurality of micro noises, such that the plurality of micro noises appears to originate from the virtual object. A speaker for speaker diaphragm motion detection using optical MEMS sensors is further presented. Optical MEMS sensors are used to optically monitor displacement of one or more portions of a speaker diaphragm. The speaker may be configured to determine that a speaker diaphragm is in rocking mode and move the speaker diaphragm out of rocking mode.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims a priority and benefit to U.S. ProvisionalPatent Application Ser. No. 63/325,688, Mar. 31, 2022, U.S. ProvisionalPatent Application Ser. No. 63/392,742, filed Jul. 27, 2022, and U.S.Provisional Patent Application Ser. No. 63/390,890, filed Jul. 20, 2022,each of which is hereby incorporated by reference in its entirety.

FIELD OF THE INVENTION

The present disclosure relates generally to audio devices, andspecifically relates to various audio device applications including, acoil assembly, a speaker for generating micro noises, and a speaker forspeaker diaphragm motion detection.

BACKGROUND

Conventionally, interactions conducted in an artificial realityenvironment include speech but tend to omit other small backgroundsounds that help cue a listener that a person is present. For example,rustling of clothing, breathing, sounds of movement, etc., generally arenot rendered.

Note that speakers used to render audio content in artificial realityenvironments may be integrated into some form of headset, resulting in aneed for a speaker with a relatively small form factor. However,speakers with small form factors can result in manufacturing problems aswell as have issues with audio presentation. For example, creating anelectrical connection between a (discrete) flat coil to the outsideworld in a cartilage conduction transducer (or dynamic driver) isdifficult due to the required handling of the delicate coil wires andthe small connection area. Likewise, in an audio render system, speakerdiaphragm motion is a crucial parameter to enable optimal tuningalgorithm. Without the motion detection, the render system will eitheruse the static equivalent lumped circuit model parameters fromtransducer characterization or estimate the parameters based on thecurrent/voltage data from the smart amplifier. The former will not beable to utilize the full range of the speaker system dynamic range sincethis method assumes the system is perfectly linear. Also, the staticparameters are collected based on limited samples and the variationneeds to be accounted for. Whereas the latter is an indirect predictionof the speaker motion which has convergence speed and accuracy concerns.But traditional motion measurement techniques, such as contactmeasurement with accelerometers, are not feasible in audio, especially,in the small form factor products due to the speaker system efficiencyis dependent on the moving mass and the accelerometer adds mass to thesystem and therefore degrades the performance. In addition, there's verylimited space for an accelerometer sensor to be attached on diaphragmwithout interference.

SUMMARY

Embodiments of the present disclosure relate to a coil assembly thatthat can be integrated into a transducer device. The coil assembly mayinclude a bobbin assembly, a wire coil, and one or more nonconductiveprinted circuit board (PCB) stiffeners. The bobbin assembly includes afirst and second metal bobbin. The wire coil is placed between the firstand second metal bobbin. The metal bobbins each include an electricaltab which is configured to make contact with an end of the wire coil.The electrical tabs provide a reliable electrical contact point toconnect to the first end and second end of the wire coil. Nonconductiveprinted circuit board (PCB) stiffeners are placed on either side of thewire coil, in between the first and second metal bobbin. Thenonconductive PCB stiffeners provide support to the metal bobbins andprevent shorting between the first metal bobbin and the second metalbobbin.

Embodiments of the present disclosure further relate to a method forgenerating micro noises in a virtual environment to improve simulatedpresence of a virtual object in a virtual environment. Users may use aVR device or AR device, such as a headset, to enter a virtualenvironment, in which users may be able to interact with virtualobjects. Virtual objects may be associated with another user or anartificial intelligence. In some embodiments, virtual objects may berepresented by a virtual avatar. Virtual objects include a state, thestate indicating whether the virtual avatar is available to interactwith the user. The headset may generate a plurality of micro noisesbased in part on the state of the determined state of the virtualobject. Micro noises may be used to communicate information tolisteners, such as the state of the virtual object, or the nature of thevirtual object (e.g., entity behind the virtual object). In someembodiments, users may assign personalized micro noises to specificvirtual objects. In other embodiments, micro noises may be generatedbased on captured noises from the user. The headset of the user mayspatialize and present the plurality of micro noises to the user througha transducer array, such that the plurality of micro noises seems to becoming from the virtual object.

Embodiments of the present disclosure further relate to a speaker thatcan be integrated into a wearable device. The speaker is configured toperform speaker diaphragm motion detection using opticalmicro-electromechanical systems (MEMs) sensors. The optical MEMs sensorsoptically monitor displacement of one or more portions of a speakerdiaphragm. The speaker may be integrated into a wearable device (e.g.,headset, watch, etc.) of an audio system. The audio system includes oneor more speakers, one or more optical MEMS sensors, and a controller.The detected motion of the speaker diaphragm may be used by the audiosystem to accurately identify system parameter and tune the speaker inreal time. Certain algorithms may be tuned (like bass extension orexcursion protection) based on a displacement transfer function.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a perspective view of a headset implemented as an eyeweardevice, in accordance with one or more embodiments.

FIG. 1B is a perspective view of a headset implemented as a head-mounteddisplay, in accordance with one or more embodiments.

FIG. 2 is a block diagram of an audio system, in accordance with one ormore embodiments.

FIG. 3 is a perspective view of a transducer assembly that includes acoil assembly, in accordance with one or more embodiments.

FIG. 4 is a perspective view of the coil assembly of FIG. 4 .

FIG. 5 is an exploded view of the coil assembly of FIG. 4 .

FIG. 6 is an example virtual environment displayed to a user by aheadset, in accordance with one or more embodiments.

FIG. 7 is a flowchart illustrating a process of generating micro noises,in accordance with one or more embodiments.

FIG. 8A is a cross sectional view of an example structure of a speakerwith an optical MEMs sensor located on a top surface of a pole piece, inaccordance with one or more embodiments.

FIG. 8B is a cross sectional view of an example structure of a speakerwith an optical MEMs sensor recessed in a top surface of a pole piece,in accordance with one or more embodiments.

FIG. 8C is a cross sectional view of an example structure of a speakerwith a plurality of optical MEMs sensor recessed into a top surface of apole piece, in accordance with one or more embodiments.

FIG. 8D is a cross sectional view of an example structure of a speakerwith an optical MEMs sensor recessed in a top surface of a pole piece,in accordance with one or more embodiments.

FIG. 9 is cross sectional view of an example structure of a speaker witha plurality of optical MEMs sensors positioned on a frame of a wearabledevice, in accordance with one or more embodiments.

FIG. 10 is a cross sectional view of an example structure of an opticalMEMs sensor, in accordance with one or more embodiments.

FIG. 11 is a flowchart illustrating a process of tuning the speakerdiaphragm to move out of rocking mode, in accordance with one or moreembodiments.

FIG. 12 depicts a block diagram of a system that includes a wearabledevice (e.g., headset), in accordance with one or more embodiments.

The figures depict various embodiments for purposes of illustrationonly. One skilled in the art will readily recognize from the followingdiscussion that alternative embodiments of the structures and methodsillustrated herein may be employed without departing from the principlesdescribed herein.

DETAILED DESCRIPTION

Embodiments of the present disclosure relate to various audio deviceapplications. A coil assembly for a transducer, which can be integratedinto a speaker is presented in this disclosure. Connecting a flat coilwith an external environment in a cartilage conduction transducer is achallenge due to delicate coil wires and small connection area. Tomitigate these challenges, a conductive bobbin assembly can be used inconjunction with the voice coil. The coil assembly includes a bobbinassembly, a wire coil, and one or more nonconductive stiffeners. Thebobbin assembly includes a first and second metal bobbin, each metalbobbin having a first and second face. The wire coil is placed betweenthe first and second metal bobbin, the wire coil facing the first faceof the first metal bobbin and the first face of the second metal bobbin.The wire coil includes a first end and a second end. The first metalbobbin includes a first electrical tab which makes contact with thefirst end of the wire coil. The second metal bobbin includes a secondelectrical tab which makes contact with the second end of the wire coil.The electrical tabs provide a reliable electrical contact point toconnect to the first end and second end of the wire coil. Nonconductiveprinted circuit board (PCB) stiffeners are placed on either side of thewire coil, in between the first and second metal bobbin. Thenonconductive PCB stiffeners provide support to the metal bobbins andprevent shorting between the first metal bobbin and the second metalbobbin.

Some embodiments of the present disclosure are directed at a method forgenerating micro noises for improving simulated presence of a virtualobject in a virtual environment. Conventionally, an AR device or a VRdevice of a user filters out background noise from the user and onlytransmits the user's speech to a server or to other VR devices or ARdevices for presentation to other users. However, this implementationlacks elements that create a more realistic experience in the virtualenvironment, such as micro noises. To introduce an element of realism tothe virtual experience, the headset of the user may generate micronoises that may seem to be coming from the virtual object. In someembodiments, virtual objects may be represented by a virtual avatar. Insome embodiments, the micro noises reflect movement (e.g., bodymovement) of the virtual avatar and is delivered to other users throughtheir VR device or AR device. This allows the virtual object tocommunicate a state to other users in the virtual environment. Forexample, a virtual avatar associated with a user may be present in thevirtual environment, but the user is performing another action. Toindicate the user's away state, the virtual avatar may generate a micronoise to communicate their state to other users. Micro noises may alsobe used to communicate other types of information, such as the nature ofthe virtual object.

Some embodiments of the present disclosure are directed at a speakerthat can be integrated into a wearable device. The speaker is configuredto perform speaker diaphragm motion detection using optical MEMssensors. The speaker uses audio render algorithms, which use themovement of the speaker diaphragm, to update speaker algorithmparameters in real time for better audio performance. Conventionalmotion measurement techniques, such as contact measurement with anaccelerometer positioned on the speaker diaphragm, are not feasible insmall form factor audio devices. This challenge may be overcome by usingoptical MEMS sensors, which use light to determine the movement of thespeaker diaphragm. These optical MEMS sensors may be encased inside(e.g., under the diaphragm) or outside the speaker (e.g., over thediaphragm). If multiple optical MEMS sensors are used, the audiocontroller may be configured to detect rocking mode of the speaker andmitigate the impacts of rocking mode on the speaker.

Embodiments of the invention may include or be implemented inconjunction with an artificial reality system. Artificial reality is aform of reality that has been adjusted in some manner beforepresentation to a user, which may include, e.g., a virtual reality (VR),an augmented reality (AR), a mixed reality (MR), a hybrid reality, orsome combination and/or derivatives thereof. Artificial reality contentmay include completely generated content or generated content combinedwith captured (e.g., real-world) content. The artificial reality contentmay include video, audio, haptic feedback, or some combination thereof,any of which may be presented in a single channel or in multiplechannels (such as stereo video that produces a three-dimensional effectto the viewer). Additionally, in some embodiments, artificial realitymay also be associated with applications, products, accessories,services, or some combination thereof, that are used to create contentin an artificial reality and/or are otherwise used in an artificialreality. The artificial reality system that provides the artificialreality content may be implemented on various platforms, including awearable device (e.g., headset) connected to a host computer system, astandalone wearable device (e.g., headset), a mobile device or computingsystem, or any other hardware platform capable of providing artificialreality content to one or more viewers.

FIG. 1A is a perspective view of a headset 100 implemented as an eyeweardevice, in accordance with one or more embodiments. In some embodiments,the eyewear device is a near eye display (NED). In general, the headset100 may be worn on the face of a user such that content (e.g., mediacontent) is presented using a display assembly and/or an audio system.However, the headset 100 may also be used such that media content ispresented to a user in a different manner. Examples of media contentpresented by the headset 100 include one or more images, video, audio,or some combination thereof. The headset 100 includes a frame, and mayinclude, among other components, a display assembly including one ormore display elements 120, a depth camera assembly (DCA), an audiosystem, and a position sensor 190. While FIG. 1A illustrates thecomponents of the headset 100 in example locations on the headset 100,the components may be located elsewhere on the headset 100, on aperipheral device paired with the headset 100, or some combinationthereof. Similarly, there may be more or fewer components on the headset100 than what is shown in FIG. 1A.

The frame 110 holds the other components of the headset 100. The frame110 includes a front part that holds the one or more display elements120 and end pieces (e.g., temples) to attach to a head of the user. Thefront part of the frame 110 bridges the top of a nose of the user. Thelength of the end pieces may be adjustable (e.g., adjustable templelength) to fit different users. The end pieces may also include aportion that curls behind the ear of the user (e.g., temple tip, earpiece).

The one or more display elements 120 provide light to a user wearing theheadset 100. As illustrated the headset includes a display element 120for each eye of a user. In some embodiments, a display element 120generates image light that is provided to an eyebox of the headset 100.The eyebox is a location in space that an eye of user occupies whilewearing the headset 100. For example, a display element 120 may be awaveguide display. A waveguide display includes a light source (e.g., atwo-dimensional source, one or more line sources, one or more pointsources, etc.) and one or more waveguides. Light from the light sourceis in-coupled into the one or more waveguides which outputs the light ina manner such that there is pupil replication in an eyebox of theheadset 100. In-coupling and/or outcoupling of light from the one ormore waveguides may be done using one or more diffraction gratings. Insome embodiments, the waveguide display includes a scanning element(e.g., waveguide, mirror, etc.) that scans light from the light sourceas it is in-coupled into the one or more waveguides. Note that in someembodiments, one or both of the display elements 120 are opaque and donot transmit light from a local area around the headset 100. The localarea is the area surrounding the headset 100. For example, the localarea may be a room that a user wearing the headset 100 is inside, or theuser wearing the headset 100 may be outside and the local area is anoutside area. In this context, the headset 100 generates VR content.Alternatively, in some embodiments, one or both of the display elements120 are at least partially transparent, such that light from the localarea may be combined with light from the one or more display elements toproduce AR and/or MR content.

In some embodiments, a display element 120 does not generate imagelight, and instead is a lens that transmits light from the local area tothe eyebox. For example, one or both of the display elements 120 may bea lens without correction (non-prescription) or a prescription lens(e.g., single vision, bifocal and trifocal, or progressive) to helpcorrect for defects in a user's eyesight. In some embodiments, thedisplay element 120 may be polarized and/or tinted to protect the user'seyes from the sun.

In some embodiments, the display element 120 may include an additionaloptics block (not shown). The optics block may include one or moreoptical elements (e.g., lens, Fresnel lens, etc.) that direct light fromthe display element 120 to the eyebox. The optics block may, e.g.,correct for aberrations in some or all of the image content, magnifysome or all of the image, or some combination thereof.

The DCA determines depth information for a portion of a local areasurrounding the headset 100. The DCA includes one or more imagingdevices 130 and a DCA controller (not shown in FIG. 1A), and may alsoinclude an illuminator 140. In some embodiments, the illuminator 140illuminates a portion of the local area with light. The light may be,e.g., structured light (e.g., dot pattern, bars, etc.) in the infrared(IR), IR flash for time-of-flight, etc. In some embodiments, the one ormore imaging devices 130 capture images of the portion of the local areathat include the light from the illuminator 140. As illustrated, FIG. 1Ashows a single illuminator 140 and two imaging devices 130. In alternateembodiments, there is no illuminator 140 and at least two imagingdevices 130.

The DCA controller computes depth information for the portion of thelocal area using the captured images and one or more depth determinationtechniques. The depth determination technique may be, e.g., directtime-of-flight (ToF) depth sensing, indirect ToF depth sensing,structured light, passive stereo analysis, active stereo analysis (usestexture added to the scene by light from the illuminator 140), someother technique to determine depth of a scene, or some combinationthereof.

The audio system provides audio content. The audio system includes atransducer array, a sensor array, and an audio controller 150. However,in other embodiments, the audio system may include different and/oradditional components. Similarly, in some cases, functionality describedwith reference to the components of the audio system can be distributedamong the components in a different manner than is described here. Forexample, some or all of the functions of the controller may be performedby a remote server.

The transducer array presents sound to user. The transducer arrayincludes a plurality of transducers. A transducer may be a speaker 160or a tissue transducer 170 (e.g., a bone conduction transducer or acartilage conduction transducer). In some embodiments, the transducersmay be implemented with a coil assembly, configured to act as anelectrical pathway between a voice coil and an electrical source. Thecoil assembly may include a conductive bobbin assembly, a voice coil,and one or more nonconductive PCB stiffeners.

In other embodiments, a transducer implemented as a speaker may includeone or more optical MEMS sensors to perform speaker diaphragm motiondetection. The headset 100 may use the speaker diaphragm motion toenable an optimal tuning algorithm for better audio performance.

Although the speakers 160 are shown exterior to the frame 110, thespeakers 160 may be enclosed in the frame 110. In some embodiments,instead of individual speakers for each ear, the headset 100 includes aspeaker array comprising multiple speakers integrated into the frame 110to improve directionality of presented audio content. The tissuetransducer 170 couples to the head of the user and directly vibratestissue (e.g., bone or cartilage) of the user to generate sound. Thenumber and/or locations of transducers may be different from what isshown in FIG. 1A.

The sensor array detects sounds within the local area of the headset100. The sensor array includes a plurality of acoustic sensors 180. Anacoustic sensor 180 captures sounds emitted from one or more soundsources in the local area (e.g., a room). Each acoustic sensor isconfigured to detect sound and convert the detected sound into anelectronic format (analog or digital). The acoustic sensors 180 may beacoustic wave sensors, microphones, sound transducers, or similarsensors that are suitable for detecting sounds.

In some embodiments, one or more acoustic sensors 180 may be placed inan ear canal of each ear (e.g., acting as binaural microphones). In someembodiments, the acoustic sensors 180 may be placed on an exteriorsurface of the headset 100, placed on an interior surface of the headset100, separate from the headset 100 (e.g., part of some other device), orsome combination thereof. The number and/or locations of acousticsensors 180 may be different from what is shown in FIG. 1A. For example,the number of acoustic detection locations may be increased to increasethe amount of audio information collected and the sensitivity and/oraccuracy of the information. The acoustic detection locations may beoriented such that the microphone is able to detect sounds in a widerange of directions surrounding the user wearing the headset 100.

The audio controller 150 processes information from the sensor arraythat describes sounds detected by the sensor array. The audio controller150 may comprise a processor and a computer-readable storage medium. Theaudio controller 150 may be configured to generate direction of arrival(DOA) estimates, generate acoustic transfer functions (e.g., arraytransfer functions and/or head-related transfer functions), track thelocation of sound sources, form beams in the direction of sound sources,classify sound sources, generate sound filters for the speakers 160, orsome combination thereof. The audio controller 150 may be configured togenerate micro noises to improve a simulated presence of a virtualobject in a virtual environment. The micro noises may be generated tocommunicate to users, a state of the virtual object, or a nature of thevirtual object.

The position sensor 190 generates one or more measurement signals inresponse to motion of the headset 100. The position sensor 190 may belocated on a portion of the frame 110 of the headset 100. The positionsensor 190 may include an inertial measurement unit (IMU). Examples ofposition sensor 190 include: one or more accelerometers, one or moregyroscopes, one or more magnetometers, another suitable type of sensorthat detects motion, a type of sensor used for error correction of theIMU, or some combination thereof. The position sensor 190 may be locatedexternal to the IMU, internal to the IMU, or some combination thereof.

In some embodiments, the headset 100 may provide for simultaneouslocalization and mapping (SLAM) for a position of the headset 100 andupdating of a model of the local area. For example, the headset 100 mayinclude a passive camera assembly (PCA) that generates color image data.The PCA may include one or more RGB cameras that capture images of someor all of the local area. In some embodiments, some or all of theimaging devices 130 of the DCA may also function as the PCA. The imagescaptured by the PCA and the depth information determined by the DCA maybe used to determine parameters of the local area, generate a model ofthe local area, update a model of the local area, or some combinationthereof. Furthermore, the position sensor 190 tracks the position (e.g.,location and pose) of the headset 100 within the room. Additionaldetails regarding the components of the headset 100 are discussed belowin connection with FIG. 2 and FIG. 12 .

FIG. 1B is a perspective view of a headset 105 implemented as a HMD, inaccordance with one or more embodiments. In embodiments that describe anAR system and/or a MR system, portions of a front side of the HMD are atleast partially transparent in the visible band (˜380 nm to 750 nm), andportions of the HMD that are between the front side of the HMD and aneye of the user are at least partially transparent (e.g., a partiallytransparent electronic display). The HMD includes a front rigid body 115and a band 175. The headset 105 includes many of the same componentsdescribed above with reference to FIG. 1A, but modified to integratewith the HMD form factor. For example, the HMD includes a displayassembly, a DCA, an audio system, and a position sensor 190. FIG. 1Bshows the illuminator 140, a plurality of the speakers 160, a pluralityof the imaging devices 130, a plurality of acoustic sensors 180, and theposition sensor 190. The speakers 160 may be located in variouslocations, such as coupled to the band 175 (as shown), coupled to frontrigid body 115, or may be configured to be inserted within the ear canalof a user.

FIG. 2 is a block diagram of an audio system 200, in accordance with oneor more embodiments. The audio system in FIG. 1A or FIG. 1B may be anembodiment of the audio system 200. The audio system 200 generates oneor more acoustic transfer functions for a user. The audio system 200 maythen use the one or more acoustic transfer functions to generate audiocontent for the user. In the embodiment of FIG. 2 , the audio system 200includes a transducer array 210, a sensor array 220, and an audiocontroller 230. Some embodiments of the audio system 200 have differentcomponents than those described here. Similarly, in some cases,functions can be distributed among the components in a different mannerthan is described here.

The transducer array 210 is configured to present audio content. Thetransducer array 210 includes a plurality of transducers. A transduceris a device that provides audio content. A transducer may be, e.g., aspeaker (e.g., the speaker 160), a tissue transducer (e.g., the tissuetransducer 170), some other device that provides audio content, or somecombination thereof. A tissue transducer may be configured to functionas a bone conduction transducer or a cartilage conduction transducer.The transducer array 210 may present audio content via air conduction(e.g., via one or more speakers), via bone conduction (via one or morebone conduction transducer), via cartilage conduction audio system (viaone or more cartilage conduction transducers), or some combinationthereof. In some embodiments, the transducer array 210 may include oneor more transducers to cover different parts of a frequency range. Forexample, a piezoelectric transducer may be used to cover a first part ofa frequency range and a moving coil transducer may be used to cover asecond part of a frequency range.

The bone conduction transducers generate acoustic pressure waves byvibrating bone/tissue in the user's head. A bone conduction transducermay be coupled to a portion of a headset, and may be configured to bebehind the auricle coupled to a portion of the user's skull. The boneconduction transducer receives vibration instructions from the audiocontroller 230, and vibrates a portion of the user's skull based on thereceived instructions. The vibrations from the bone conductiontransducer generate a tissue-borne acoustic pressure wave thatpropagates toward the user's cochlea, bypassing the eardrum.

The cartilage conduction transducers generate acoustic pressure waves byvibrating one or more portions of the auricular cartilage of the ears ofthe user. A cartilage conduction transducer may be coupled to a portionof a headset, and may be configured to be coupled to one or moreportions of the auricular cartilage of the ear. For example, thecartilage conduction transducer may couple to the back of an auricle ofthe ear of the user. The cartilage conduction transducer may be locatedanywhere along the auricular cartilage around the outer ear (e.g., thepinna, the tragus, some other portion of the auricular cartilage, orsome combination thereof). Vibrating the one or more portions ofauricular cartilage may generate: airborne acoustic pressure wavesoutside the ear canal; tissue born acoustic pressure waves that causesome portions of the ear canal to vibrate thereby generating an airborneacoustic pressure wave within the ear canal; or some combinationthereof. The generated airborne acoustic pressure waves propagate downthe ear canal toward the ear drum.

The transducer array 210 generates audio content in accordance withinstructions from the audio controller 230. In some embodiments, theaudio content is spatialized. Spatialized audio content is audio contentthat appears to originate from a particular direction and/or targetregion (e.g., an object in the local area and/or a virtual object). Forexample, spatialized audio content can make it appear that sound isoriginating from a virtual singer across a room from a user of the audiosystem 200. The transducer array 210 may be coupled to a wearable device(e.g., the headset 100 or the headset 105). In alternate embodiments,the transducer array 210 may be a plurality of speakers that areseparate from the wearable device (e.g., coupled to an externalconsole).

In some embodiments, the transducers may be implemented with a coilassembly. The coil assembly including a conductive bobbin assembly, avoice coil, and one or more nonconductive PCB stiffeners. The voice coilassembly 820 acts as an electrical pathway between the voice coil and anelectrical source. The metal bobbin assembly is comprised of a first andsecond metal bobbin. The metal bobbin assembly includes electrical tabswhich are configured to provide reliable electrical contact points toconnect to the voice coil.

In other embodiments, a speaker may include one or more optical MEMSsensors to perform speaker diaphragm motion detection. The optical MEMssensor may include one or more light sources (e.g., vertical cavitysurface emitting lasers (VCSELs)), one or more sensors (e.g.,photodiodes), and may also include one or more diffraction gratings. TheVCSEL emits light beams through the diffraction grating and reaches tothe moving diaphragm. The light beams are reflected and diffracteddepending on the motion and received by the photodiodes resulting inphotocurrent and converted to electrical voltage. The one or moreoptical MEMS sensors may be positioned in a variety of locationsrelative to the speaker diaphragm. The locations may be within thespeaker(s), external to the speaker(s), or some combination thereof. Forexample, in some embodiments, one or more optical MEMS sensors may bepositioned on a speaker pole piece to monitor a back side of the speakerdiaphragm.

The sensor array 220 detects sounds within a local area surrounding thesensor array 220. The sensor array 220 may include a plurality ofacoustic sensors that each detect air pressure variations of a soundwave and convert the detected sounds into an electronic format (analogor digital). The plurality of acoustic sensors may be positioned on aheadset (e.g., headset 100 and/or the headset 105), on a user (e.g., inan ear canal of the user), on a neckband, or some combination thereof.An acoustic sensor may be, e.g., a microphone, a vibration sensor, anaccelerometer, or any combination thereof. In some embodiments, thesensor array 220 is configured to monitor the audio content generated bythe transducer array 210 using at least some of the plurality ofacoustic sensors. Increasing the number of sensors may improve theaccuracy of information (e.g., directionality) describing a sound fieldproduced by the transducer array 210 and/or sound from the local area.

The audio controller 230 controls operation of the audio system 200. Inthe embodiment of FIG. 2 , the audio controller 230 includes a datastore 235, a DOA estimation module 240, a transfer function module 250,a tracking module 260, a beamforming module 270, and a sound filtermodule 280. The audio controller 230 may be located inside a headset, insome embodiments. Some embodiments of the audio controller 230 havedifferent components than those described here. Similarly, functions canbe distributed among the components in different manners than describedhere. For example, some functions of the controller may be performedexternal to the headset. The user may opt in to allow the audiocontroller 230 to transmit data captured by the headset to systemsexternal to the headset, and the user may select privacy settingscontrolling access to any such data.

The data store 235 stores data for use by the audio system 200. Data inthe data store 235 may include sounds recorded in the local area of theaudio system 200, audio content, head-related transfer functions(HRTFs), transfer functions for one or more sensors, array transferfunctions (ATFs) for one or more of the acoustic sensors, sound sourcelocations, virtual model of local area, direction of arrival estimates,sound filters, and other data relevant for use by the audio system 200,or any combination thereof. The data store 235 may store micro noises orcaptured body noises from the user. The data store 235 may also storespeaker tuning algorithms.

The user may opt-in to allow the data store 235 to record data capturedby the audio system 200. In some embodiments, the audio system 200 mayemploy always on recording, in which the audio system 200 records allsounds captured by the audio system 200 in order to improve theexperience for the user. The user may opt in or opt out to allow orprevent the audio system 200 from recording, storing, or transmittingthe recorded data to other entities.

The DOA estimation module 240 is configured to localize sound sources inthe local area based in part on information from the sensor array 220.Localization is a process of determining where sound sources are locatedrelative to the user of the audio system 200. The DOA estimation module240 performs a DOA analysis to localize one or more sound sources withinthe local area. The DOA analysis may include analyzing the intensity,spectra, and/or arrival time of each sound at the sensor array 220 todetermine the direction from which the sounds originated. In some cases,the DOA analysis may include any suitable algorithm for analyzing asurrounding acoustic environment in which the audio system 200 islocated.

For example, the DOA analysis may be designed to receive input signalsfrom the sensor array 220 and apply digital signal processing algorithmsto the input signals to estimate a direction of arrival. Thesealgorithms may include, for example, delay and sum algorithms where theinput signal is sampled, and the resulting weighted and delayed versionsof the sampled signal are averaged together to determine a DOA. A leastmean squared (LMS) algorithm may also be implemented to create anadaptive filter. This adaptive filter may then be used to identifydifferences in signal intensity, for example, or differences in time ofarrival. These differences may then be used to estimate the DOA. Inanother embodiment, the DOA may be determined by converting the inputsignals into the frequency domain and selecting specific bins within thetime-frequency (TF) domain to process. Each selected TF bin may beprocessed to determine whether that bin includes a portion of the audiospectrum with a direct path audio signal. Those bins having a portion ofthe direct-path signal may then be analyzed to identify the angle atwhich the sensor array 220 received the direct-path audio signal. Thedetermined angle may then be used to identify the DOA for the receivedinput signal. Other algorithms not listed above may also be used aloneor in combination with the above algorithms to determine DOA.

In some embodiments, the DOA estimation module 240 may also determinethe DOA with respect to an absolute position of the audio system 200within the local area. The position of the sensor array 220 may bereceived from an external system (e.g., some other component of aheadset, an artificial reality console, a mapping server, a positionsensor (e.g., the position sensor 190), etc.). The external system maycreate a virtual model of the local area, in which the local area andthe position of the audio system 200 are mapped. The received positioninformation may include a location and/or an orientation of some or allof the audio system 200 (e.g., of the sensor array 220). The DOAestimation module 240 may update the estimated DOA based on the receivedposition information.

The transfer function module 250 is configured to generate one or moreacoustic transfer functions. Generally, a transfer function is amathematical function giving a corresponding output value for eachpossible input value. Based on parameters of the detected sounds, thetransfer function module 250 generates one or more acoustic transferfunctions associated with the audio system. The acoustic transferfunctions may be array transfer functions (ATFs), head-related transferfunctions (HRTFs), other types of acoustic transfer functions, or somecombination thereof. An ATF characterizes how the microphone receives asound from a point in space.

An ATF includes a number of transfer functions that characterize arelationship between the sound source and the corresponding soundreceived by the acoustic sensors in the sensor array 220. Accordingly,for a sound source there is a corresponding transfer function for eachof the acoustic sensors in the sensor array 220. And collectively theset of transfer functions is referred to as an ATF. Accordingly, foreach sound source there is a corresponding ATF. Note that the soundsource may be, e.g., someone or something generating sound in the localarea, the user, or one or more transducers of the transducer array 210.The ATF for a particular sound source location relative to the sensorarray 220 may differ from user to user due to a person's anatomy (e.g.,ear shape, shoulders, etc.) that affects the sound as it travels to theperson's ears. Accordingly, the ATFs of the sensor array 220 arepersonalized for each user of the audio system 200.

In some embodiments, the transfer function module 250 determines one ormore HRTFs for a user of the audio system 200. The HRTF characterizeshow an ear receives a sound from a point in space. The HRTF for aparticular source location relative to a person is unique to each ear ofthe person (and is unique to the person) due to the person's anatomy(e.g., ear shape, shoulders, etc.) that affects the sound as it travelsto the person's ears. In some embodiments, the transfer function module250 may determine HRTFs for the user using a calibration process. Insome embodiments, the transfer function module 250 may provideinformation about the user to a remote system. The user may adjustprivacy settings to allow or prevent the transfer function module 250from providing the information about the user to any remote systems. Theremote system determines a set of HRTFs that are customized to the userusing, e.g., machine learning, and provides the customized set of HRTFsto the audio system 200.

The tracking module 260 is configured to track locations of one or moresound sources. The tracking module 260 may compare current DOA estimatesand compare them with a stored history of previous DOA estimates. Insome embodiments, the audio system 200 may recalculate DOA estimates ona periodic schedule, such as once per second, or once per millisecond.The tracking module may compare the current DOA estimates with previousDOA estimates, and in response to a change in a DOA estimate for a soundsource, the tracking module 260 may determine that the sound sourcemoved. In some embodiments, the tracking module 260 may detect a changein location based on visual information received from the headset orsome other external source. The tracking module 260 may track themovement of one or more sound sources over time. The tracking module 260may store values for a number of sound sources and a location of eachsound source at each point in time. In response to a change in a valueof the number or locations of the sound sources, the tracking module 260may determine that a sound source moved. The tracking module 260 maycalculate an estimate of the localization variance. The localizationvariance may be used as a confidence level for each determination of achange in movement.

The beamforming module 270 is configured to process one or more ATFs toselectively emphasize sounds from sound sources within a certain areawhile de-emphasizing sounds from other areas. In analyzing soundsdetected by the sensor array 220, the beamforming module 270 may combineinformation from different acoustic sensors to emphasize soundassociated from a particular region of the local area whiledeemphasizing sound that is from outside of the region. The beamformingmodule 270 may isolate an audio signal associated with sound from aparticular sound source from other sound sources in the local area basedon, e.g., different DOA estimates from the DOA estimation module 240 andthe tracking module 260. The beamforming module 270 may thus selectivelyanalyze discrete sound sources in the local area. In some embodiments,the beamforming module 270 may enhance a signal from a sound source. Forexample, the beamforming module 270 may apply sound filters whicheliminate signals above, below, or between certain frequencies. Signalenhancement acts to enhance sounds associated with a given identifiedsound source relative to other sounds detected by the sensor array 220.

The sound filter module 280 determines sound filters for the transducerarray 210. In some embodiments, the sound filters cause the audiocontent to be spatialized, such that the audio content appears tooriginate from a target region. The sound filter module 280 may useHRTFs and/or acoustic parameters to generate the sound filters. Theacoustic parameters describe acoustic properties of the local area. Theacoustic parameters may include, e.g., a reverberation time, areverberation level, a room impulse response, etc. In some embodiments,the sound filter module 280 calculates one or more of the acousticparameters. In some embodiments, the sound filter module 280 requeststhe acoustic parameters from a mapping server (e.g., as described belowwith regard to FIG. 12 ).

The sound filter module 280 provides the sound filters to the transducerarray 210. In some embodiments, the sound filters may cause positive ornegative amplification of sounds as a function of frequency.

The audio controller 230 also includes a micro noise generator module290 that identifies the state of a virtual object, and generates micronoises based in part on the determined state of the virtual object. Asfurther described below in conjunction with FIGS. 6 and 7 , the micronoise generator module 290 may determine the state of a virtual objectpresent in a local area of a user in a virtual environment. Based on thestate of the virtual object, the micro noise generator module 290generates a plurality of micro noises to be presented to the user. Insome embodiments, a library of pre-generated micro noises may be storedin the data store 235. For example, pre-generated micro noises mayinclude generic breathing noises, clothing rustling noises, or noises offeet shuffling on the ground. The micro noise generator module 290 maymap each of the pre-generated micro noises to a state of a virtualobject. In some embodiments, the micro noise generator module 290 alsomap micro noises to a nature of a virtual object, or to an action of avirtual object. For example, the micro noise generator module 290 maycategorize virtual objects into categories such as unfamiliar virtualobjects, familiar virtual objects, user-controlled virtual objects, oran AI-controlled virtual object. The micro noise generator module 290may retrieve from the data store 235, the pre-generated micro noise forspatialization and presentation to the user.

In some embodiments, the micro noise generator module 290 may usemachine learning (ML) models to generate new micro noises based on thestate of the virtual object for spatialization and presentation to theuser. In other embodiments, the micro noise generator module 290 mayalso use ML models to generate new micro noises based on the nature ofthe virtual object, or the action performed by the virtual object.Example machine learning models include regression models, supportvector machines, naïve bayes, decision trees, k nearest neighbors,random forest, boosting algorithms, k-means, and hierarchicalclustering. The machine learning models may also include neuralnetworks, such as perceptrons, multi-layer perceptrons, convolutionalneural networks (CNNs), recurrent neural networks (RNNs),sequence-to-sequence models, generative adversarial networks, automaticspeech recognition (ASR) models, or transformers. The micro noisegenerator module 290 may store newly generated micro noises in the datastore 235.

In some embodiments, the micro noise generator module 290 may instructthe sensor array 220 to capture body noises (e.g., breathing sounds,rustling, clothing moving) from the user of the headset. The micro noisegenerator module 290 may use as input, the captured body noises from theuser to the ML models to generate a plurality of micro noises that isunique to the user. In other embodiments, a user may assign apre-generated or newly generated micro noise to a particular virtualobject. For example, a user may select and assign a micro noise to avirtual object associated with a family member.

The micro noise generator module 290 may provide the plurality of micronoises to the sound filter module 280. The sound filter module 280 mayapply sound filters to the micro noises to spatialize the plurality ofmicro noises for presentation to the user, such that the plurality ofmicro noises appears to originate from the virtual object. Thespatialized micro noises may be presented to the user through thetransducer array 210.

The audio controller 230 also includes a speaker tuning module 295 thatis configured to determine if the speaker diaphragm is in rocking modeand to tune speaker algorithm parameters to move the diaphragm out ofrocking mode. The speaker tuning module 295 may use signals receivedfrom a speaker which includes more than one optical MEMS sensors todetermine whether the diaphragm is in rocking mode. The speaker tuningmodule 295 may instruct the more than one optical MEMS sensors to emitlight beams through the diffraction grating towards the movingdiaphragm. The speaker tuning module 295 may use the reflected anddiffracted light beams detected by the photodiodes to determine if thediaphragm is in rocking mode. The more than one optical MEMS sensorsenable multiple point motion detection to detect that the speakerdiaphragm is in rocking mode. The speaker tuning module 295 may use adepth determination technique like, e.g., direct time-of-flight (dTOF),indirect TOF (iTOF), etc., to calculate displacement of the monitoredportions of the diaphragm. The speaker tuning module 295 may, inresponse to determining that the speaker is in or close to being inrocking mode, the speaker tuning module 295 may modify drive algorithmparameters for the diaphragm to move the diaphragm out of the rockingmode. Algorithms may include bass extension or excursion protection,based on a displacement transfer function. The speaker tuning module 295may provide the adjusted drive algorithm parameters to the transducerarray 210 to modify the transducer output.

Other embodiments of the audio controller may have more or fewercomponents than described.

Coil Assembly for a Speaker

Some embodiments of the present disclosure are directed to a coilassembly for a transducer assembly. FIG. 3 is a perspective view of atransducer assembly 300 that includes a coil assembly 305, in accordancewith one or more embodiments. The transducer assembly 300 may beimplemented in wearable devices which includes, head-mounted devicessuch as artificial reality headsets and smart glasses. The transducerassembly 300 is an embodiment of the transducer described above withregard to FIGS. 1A-3 . For example, the transducer assembly 300 may beimplemented as a tissue transducer 170 or a speaker. The transducerassembly 300 includes the coil assembly 305, a magnet assembly 310, aspring 315, and suspension assembly 320. There may be more or fewercomponents in the coil assembly 305 than what is shown in FIG. 3 .

The coil assembly 305 includes a voice coil which is configured togenerate a magnetic field when current is applied to the voice coil. Thecoil assembly 305 may be coupled to the spring 315, configured to allowmovement of the coil assembly 305.

The magnet assembly 310 may include two magnets, each magnet positionedon either side of the coil assembly 305. The magnet assembly 310 may becoupled to the suspension assembly 320. The suspension assembly 320configured to allow movement of the magnet assembly 310 relative to thecoil assembly 305. In addition, a membrane (not pictured) or a contactpad (not pictured) may be positioned on top of the spring 315 and isconfigured to vibrate and generate audio content. The magnetic field ofthe voice coil interacts with the magnetic field of the magnet assembly310, generating a magnetic force causing the coil assembly 305 and themagnet assembly 310 to move in opposite directions. The movement of thecoil assembly 305 causes the membrane to vibrate to generate sound. Thetransducer assembly 300 may be configured to mitigate the vibrationsgenerated by the membrane and prevent the generated vibrations fromspreading to the rest of the wearable device.

FIG. 4 illustrates perspective views of the coil assembly 305. The coilassembly 305 includes a voice coil 410 (wire coil), a metal bobbinassembly, and one or more nonconductive PCB stiffeners (e.g.,nonconductive PCB stiffener 415A and nonconductive PCB stiffener 415B).

The voice coil 410 is a winding of metal wire, configured to generate amagnetic field when current is applied to it. The voice coil has a firstend 420 and a second end 430. The voice coil 410 may be made of copperor aluminum.

The metal bobbin assembly includes a first metal bobbin 440 and a secondmetal bobbin 445. The metal bobbin assembly may be configured to providea reliable electrical pathway to the first end 420 and the second end430 of the voice coil. The voice coil 410 may be positioned in betweenthe first metal bobbin 440 and second metal bobbin 445. The first metalbobbin 440 and the second metal bobbin 445 are fabricated to includeelectrical tabs, configured to provide a reliable electrical contactpoint for the voice coil. This is illustrated by the close-up view ofthe first end 420 of the voice coil and the second end 430 of the voicecoil. The first metal bobbin 440 may include a first electrical tab 425,configured to make contact with the first end of the voice coil. Thesecond metal bobbin 445 may include a second electrical tab 435,configured to make contact with the second end of the voice coil. Thefirst and second electrical tab may be treated, such as tin dipped orplated, to provide increased solderability in the connection area.

The nonconductive PCB stiffeners 415A, 415B may be positioned in betweenthe first metal bobbin 440 and second metal bobbin 445. Thenonconductive PCB stiffeners 415A, 415B are configured to providesupport between the metal bobbins and prevent the first metal bobbin 440and second bobbin from shorting. The nonconductive PCB stiffeners 415A,415B may be shaped according to the prongs 450 of the metal bobbinassembly. The nonconductive PCB stiffeners 415A, 415B may be positionedalong the long sides of the voice coil and aligned with the prongs ofthe metal bobbin assembly.

The metal bobbin assembly may be coupled to the spring 315 via prongs450 extruding from a first end of the first metal bobbin 440 and a firstend of the second metal bobbin 445.

FIG. 5 is an exploded view of the coil assembly 305. As described inFIG. 4 , the voice coil 410 is positioned between the first metal bobbin440 and second metal bobbin 445. The first and second metal bobbins eachhave a first face and a second face. The first face of the first metalbobbin 440 faces the voice coil 410. The first electrical tab 425 ispositioned at a 0 to 180-degree angle with respect to the first face ofthe first metal bobbin 440. Likewise, the first face of the second metalbobbin 445 faces the voice coil 410. The second electrical tab 435 ispositioned at a 0 to 180-degree angle with respect to the first face ofthe second metal bobbin 445. In addition, the first face of the firstmetal bobbin 440 and the first face of the second metal bobbin 445 isanodized to prevent shorting between the metal bobbin assembly and thevoice coil 410.

Method for Generating Micro Noises for a Virtual Environment

Some embodiments of the present disclosure are directed to a method forgenerating micro noises for improving simulated presence. Micro noisesare faint sounds that indicate presence. Micro noises may include, e.g.,breathing, cloth rustling, sounds of movement, clicking, etc. Forexample, if the state indicates that the entity is present, the audiocontroller 230 may generate a plurality of micro noises to, e.g.,simulate breathing, cloth rustling, movement, etc., which help cue theuser that the entity is present. In other embodiments, the virtualavatars may be represented as a hologram.

FIG. 6 is an example virtual environment 615 displayed to a user by aheadset, in accordance with one or more embodiments. Users may interactwith virtual objects in the virtual environment 615. For example, usersmay use artificial reality devices that allow a user to view andinteract with a virtual object in an artificial reality environment. Insome embodiments a virtual avatar 620A and a virtual avatar 620B(collectively referred to as virtual avatars 620) are a virtualrepresentation of respective entities in the virtual environment 615. Anentity may be a user or an artificial intelligence. A virtual avatar maypresent as a 3D rendered image of a person (e.g., the person backing thevirtual avatar), some other virtual object, etc.

A device 605 is associated with the virtual avatar 620A and includes astate 625 of the virtual avatar 620A. The device 605 may be a headset ofanother user or a server. A user uses a device 610 (e.g., headset) toenter the virtual environment 615 and is represented by virtual avatar620B. The state 625 of the virtual avatar 620A may indicate whether thevirtual avatar 620A is available to interact with the user. For example,the state 625 may indicate that the entity represented by the virtualavatar 620A is off-line and not available, or that the entityrepresented by the virtual avatar 620A is on-line but not immediatelyavailable, or that the entity represented by the virtual avatar 620A ison-line and actively present in the virtual environment, etc. In someembodiments, an entity (e.g., AI or user) associated with the device 605may set the state 625 of the associated virtual avatar 620A. In otherembodiments, where the device 605 is a user's headset, the device 605may be configured to set the state 625 of the virtual avatar 620A basedin part on the activity of the user on the device 605. For example, thedevice 605 may detect that the user has been inactive for a certainamount of time and may set the status of the virtual avatar 620A toonline, but not immediately available.

When the virtual avatar 620B of the user is within a threshold distanceof virtual avatar 620A, the device 610 may detect that the virtualavatar 620A is close by and determine the state 625 of the virtualavatar 620A. The device 605 may transmit the state 625 of the virtualavatar 620A to a central server, from which the device 610 may requestthe state 625 of the virtual avatar 620A when virtual avatar 620B is inclose proximity to virtual avatar 620A. The device 610 may generate aplurality of micro noises 630 based in part on the determined state 625of the virtual avatar 620A and present the plurality of micro noises 630to the user of device 610. The state 625 of the virtual avatar may beassociated with one or more types of micro noises 630.

FIG. 7 is a flowchart illustrating an example process of generatingmicro noises, in accordance with one or more embodiments. The process700 shown in FIG. 7 may be performed by components of an audio system200 of a device (the headset 100, the device 610). Other entities mayperform some or all of the steps in FIG. 7 in other embodiments. Variousembodiments may include different and/or additional steps or perform thesteps in different orders. FIG. 7 will be described below in conjunctionwith FIG. 6 .

The device determines 705 a state of a virtual object. The state 625 ofvirtual avatar 620A may be transmitted to a central server that isaccessible by other devices (e.g., device 610) that have access to thevirtual environment 615. The device 610 may request from the centralserver the state 625 of virtual avatar 620A. In other embodiments, thestate 625 of virtual avatar 620A may be broadcasted to virtual avatar620B in the virtual environment 615.

The device is configured to generate 710 a plurality of micro noises 630based in part on the determined state 625. In some embodiments, themicro noises 630 may be generated randomly. In other embodiments, theplurality of micro noises 630 is generated based on movement of thevirtual avatar. For example, if the virtual avatar 620A is walking inthe virtual environment, a micro noise that may be generated is thesound of footsteps. In another example, if the determined state 625indicates that the entity is on-line, but not immediately available, theaudio controller 230 of device 610 may generate the plurality of micronoises 630 to be high frequency clicks, hum, etc., that cue the userthat there is a virtual avatar 620A at a particular location and thatthe entity behind the virtual avatar 620A is not presently available. Asthe micro noises 630 are generated at the receiving device (e.g.,headset), there is low latency between detecting the virtual avatar 620Aand the user hearing the micro noise through the transducer array 210.In some embodiments, the audio controller 230 is configured to usedifferent types of micro noises 630 based on whether the entityoperating the virtual avatar is a real person or an artificialintelligence. In other embodiments, a user may assign a micro noise to aparticular virtual avatar. For example, a user may select and assign amicro noise to a virtual avatar associated with a friend or familymember.

In some embodiments, the micro noise generation may be based in part onactual sounds recorded of the user. The audio controller 230 may build abody noise profile for the user by capturing sounds from the user usingthe sensor array 220, the sounds may include breathing sounds, rustlingsounds, clothing moving sounds, and hair moving sounds. The audiocontroller 230 may synthesize, using the captured sounds, a plurality ofmicro noises 630 associated with the user. In some embodiments, theaudio controller 230 may retrieve the recorded sounds from a socialgraph and use them to generate the plurality of micro noises 630. Inother embodiments, the plurality of micro noises 630 is generated bysome other device using the recorded sounds and uploaded to the socialgraph, and the audio controller 230 may download them for use.

The device is configured to spatialize 715 the plurality of micronoises, such that the plurality of micro noises appears to originatefrom the virtual avatar 620A. For example, if a virtual avatar is faraway from the user's virtual avatar in the virtual environment, thevolume of speech coming from the virtual avatar will be low. In thismanner, micro noises (e.g., breathing, cloth movement, etc.) further addrealism to the artificial reality experience. Moreover, in someembodiments, the micro noises 630 can be used to distinguish whether anentity controlling a virtual avatar is a real person or an artificialintelligence, a state 625 of the entity (e.g., present, not present,etc.), etc.

Speaker Diaphragm Motion Detection with Optical MEMS Sensors

Some embodiments of the present disclosure are directed to a speakerthat includes optical MEMS sensors for speaker diaphragm motiondetection. FIG. 8A is a cross sectional view of an example structure ofa speaker 800 with an optical MEMS sensor 815 located on a top surfaceof a pole piece 825 of a magnet assembly 830, in accordance with one ormore embodiments. The speaker is an embodiment of the speaker 160. Thespeaker includes a diaphragm 805, suspension 810, an optical MEMS sensor815, voice coil assembly 820, a pole piece 825, and a magnet assembly830.

The diaphragm 805 is a thin, semi-rigid membrane which is configured togenerate sound pressure waves when vibrated. The diaphragm 805 includesa front surface and a back surface. An end of the diaphragm 805 iscoupled to a fixed structure using the suspension 810. The suspension810 may also be referred to as a “surround”. The surround suspends thediaphragm 805 and is configured to flex and allow movement of thediaphragm 805. The suspension 810 couples the diaphragm 805 to a fixedstructure. The fixed structure may be coupled to a structure, such as anenclosure that houses the speaker system.

The voice coil assembly 820 may include a metal wire (e.g., voice coil)wound tightly around a cylindrical structure (e.g., a former), and isconfigured to generate a magnetic field when current is applied to thevoice coil. A base of the voice coil assembly 820 is coupled to the backsurface of the diaphragm 805. In some embodiments, the voice coilassembly 820 is coupled to the end of the diaphragm 805 at asubstantially close distance to the surround. The magnet assembly 830 isfitted on the center of the bottom piece 835 and is configured togenerate a magnetic field. The space between the bottom piece and themagnet assembly 830 creates an air gap 840. The pole piece is placedover the magnet assembly 830 and is configured to direct the magneticfield generated by the magnet assembly 830 in the air gap 840.

The voice coil assembly 820 is positioned within the air gap 840 of themagnet assembly 830. During speaker operation, current is applied to thevoice coil which generates a magnetic field. The magnetic fieldgenerated by the voice coil interacts with the magnetic field generatedby the magnet, generating a magnetic force causing the voice coilassembly 820 to move in an up and down motion and an equal and oppositeforce causing the magnet assembly 830 to move in the opposite direction.The up and down movement of the voice coil assembly 820 causes thediaphragm 805 to vibrate, the front surface of the diaphragm 805generating positive sound pressure waves that travel through the airfrom the front of the speaker system.

The optical MEMS sensor 815 is configured to optically monitordisplacement of one or more portions of a diaphragm 805. The opticalMEMS sensor 815 is positioned on top of the center of the pole piece825. The optical MEMS sensor 815 is configured to emit light beams 845towards the diaphragm 805 to detect the movement of the diaphragm 805 bymonitoring the back surface of the diaphragm 805. The movement of thediaphragm 805 allows audio render algorithms more accurately identifysystem parameters and tune the algorithm optimally in real time. Theoperation of the optical MEMS sensor 815 will be further described inFIG. 10 .

FIG. 8B is a cross sectional view of an example structure of a speaker850 with an optical MEMS sensor recessed in a top surface of a polepiece, in accordance with one or more embodiments. The speaker 850 is anembodiment of the speaker 160. The optical MEMS sensor 815 may berecessed in the center of the top of the pole piece 825. This creates alarger gap between the diaphragm 805 and optical MEMS sensor 815.

FIG. 8C is a cross sectional view of an example structure of a speaker860 with an optical MEMS sensor recessed in a top surface of a polepiece, in accordance with one or more embodiments. The speaker 860 is anembodiment of the speaker 160. A vertical hole 865 may be made throughthe center of the magnet assembly 830 and the pole piece 825, allowingmore convenient assembly of the speaker and simplifying the process ofconnecting a power supply and readout circuitry to the optical MEMSsensor 815. In FIG. 8C, the optical MEMS sensor 815 may be recessed inthe center of the top of the pole piece, over the vertical hole 865.Like the illustrated embodiment in FIG. 8B, recessing the optical MEMSsensor 815 in the pole piece 825 creates a larger gap between thediaphragm 805 and the optical MEMS sensor 815.

FIG. 8D is a cross sectional view of an example structure of a speaker870 with a plurality of optical MEMS sensor recessed into a top surfaceof a pole piece, in accordance with one or more embodiments. The speaker870 is an embodiment of the speaker 160. The plurality of optical MEMSsensors may be positioned on top of the pole piece 825. The plurality ofoptical MEMS sensors may be positioned substantially equidistant fromeach other, and in line with a central diameter of the pole piece 825.The plurality of MEMS sensors may enable multiple point motion detectionand may be used for rocking mode detection. Rocking mode vibration hasundesirable acoustic effects, such as loss of acoustic efficiency ordistortion of the sound radiated by the passive radiator. Rocking modevibration tends to occur at specific frequencies that are related tocharacteristics of the diaphragm 805, the suspension 810, and theacoustic enclosure, the placement and the mechanical and acousticcharacteristics of the acoustic driver, and other factors. In someembodiments, the audio system may, e.g., monitor if the diaphragm 805enters a rocking mode, and actively tune the diaphragm 805 to move outof the rocking mode (and potentially avoid the rocking mode in thefuture). Details regarding rocking mode detection will be furtherdescribed in FIG. 11 .

FIG. 9 is a cross sectional view of an example structure of a speaker900 with a plurality of optical MEMS sensors 915 positioned in anenclosure of a wearable device, in accordance with one or moreembodiments. The speaker 900 may be positioned inside of a headset wherea frame 110 of the headset and the diaphragm 805 form a front volume ofthe speaker. In some embodiments, some or all of the plurality ofoptical MEMS sensors 915 may be recessed into the frame 110 to monitor afront side of the diaphragm 805. As such, the optical MEMS sensors 915are separated from the speaker transducer and flexible for audio systemintegration designs. The headset 100 may include a port 910 on the frame110 close to the speaker, allowing the headset to vent sound to theuser.

FIG. 10 is a cross sectional view of an example structure of an opticalMEMS sensor 1000, in accordance with one or more embodiments. Theoptical MEMS sensor 1000 is an embodiment of the optical MEMS sensor815. The optical MEMS sensor 1000 may include one or more light sources(e.g., vertical cavity surface emitting lasers (VCSELs)), one or moresensors (e.g., photodiodes), and may also include one or morediffraction gratings. For example, in some embodiments, the optical MEMSsensor 1000 includes a VCSEL 1005, a diffraction grating 1010, and aplurality of photodiodes 1020. The VCSEL 1005 emits light beam 1015through the diffraction grating 1010 which diffracts the light from theVCSEL 1005 into a plurality 1025 of light beams that are output towardthe diaphragm 805. The plurality of beams reflects off the diaphragm805, are diffracted by the diffraction grating 1010 and are detected bythe plurality of photodiodes 1020. Some or all of the photodiodes 1020are positioned within the optical MEMS sensor to monitor light from theVCSEL that reflected off a different portion of the diaphragm 805.

FIG. 11 is a flowchart illustrating a process of tuning the diaphragm tomove out of rocking mode, in accordance with one or more embodiments.The process 1100 shown in FIG. 11 may be performed by components of theaudio system 200. Other entities may perform some or all of the steps inFIG. 11 in other embodiments. Various embodiments may include differentand/or additional steps or perform the steps in different orders.

The audio controller 230 is configured to determine 1105 displacement ofa diaphragm based in part on optically monitored portions of thediaphragm. The audio controller 230 may instruct the plurality ofoptical MEMs sensors 815 to emit light beams towards the movingdiaphragm 805 to monitor the movement of the diaphragm 805. The audiocontroller 230 may receive signals from the plurality of optical MEMSsensors 815 associated to the movement of the diaphragm 805. The audiocontroller 230 may provide the received signals as input into a depthdetermination technique like, e.g., direct time-of-flight (dTOF),indirect TOF (iTOF), etc., to calculate the displacement of monitoredportions of the diaphragm 805. In some embodiments, the headset may alsoextrapolate displacement of the entire diaphragm 805 using thecalculated displacement of some or all of the monitored portions of thediaphragm 805.

The audio controller 230 is configured to determine 1110 whether thediaphragm 805 is in a rocking mode using the calculated displacement.Normally, the diaphragm 805 moves up and down as a piston so thedisplacement at different locations is equal to each. In addition,considering the stiffness of the surround, the center of the diaphragm805 may have larger displacement than the other points, the closer tothe surround, the smaller displacement. However, it is monotonous alongthe radial direction. In rocking mode, however, the displacement is nolonger monotonous in radial direction, which means two symmetricalpoints have opposite displacement, one moving upwards and the otherdownwards. If this happens, the displacement calculation can capture therocking mode using data from at least two optical MEMs sensors.

In response to the audio controller 230 determining that the speaker isin or close to being in a rocking mode, the audio controller 230 isconfigured to adjust 1115 drive algorithm parameters for the diaphragm805 to move the diaphragm 805 out of the rocking mode. The audiocontroller 230 may provide the adjusted drive algorithm parameters tothe transducer. In contrast, if the audio controller 230 determines thatthe speaker is not in rocking mode, the speaker will continuedetermining 1105 the displacement of the diaphragm 805 to ensure thatthe diaphragm 805 is not in rocking mode.

FIG. 12 is a system 1200 that includes a headset 1205, in accordancewith one or more embodiments. In some embodiments, the headset 1205 maybe the headset 100 of FIG. 1A or the headset 105 of FIG. 1B. The system1200 may operate in an artificial reality environment (e.g., a virtualreality environment, an augmented reality environment, a mixed realityenvironment, or some combination thereof). The system 1200 shown by FIG.12 includes the headset 1205, an input/output (I/O) interface 1210 thatis coupled to a console 1215, the network 1220, and the mapping server1225. While FIG. 12 shows an example system 1200 including one headset1205 and one I/O interface 1210, in other embodiments any number ofthese components may be included in the system 1200. For example, theremay be multiple headsets each having an associated I/O interface 1210,with each headset and I/O interface 1210 communicating with the console1215. In alternative configurations, different and/or additionalcomponents may be included in the system 1200. Additionally,functionality described in conjunction with one or more of thecomponents shown in FIG. 12 may be distributed among the components in adifferent manner than described in conjunction with FIG. 12 in someembodiments. For example, some or all of the functionality of theconsole 1215 may be provided by the headset 1205.

The headset 1205 includes the display assembly 1230, an optics block1235, one or more position sensors 1240, and the DCA 1245. Someembodiments of headset 1205 have different components than thosedescribed in conjunction with FIG. 12 . Additionally, the functionalityprovided by various components described in conjunction with FIG. 12 maybe differently distributed among the components of the headset 1205 inother embodiments, or be captured in separate assemblies remote from theheadset 1205.

The display assembly 1230 displays content to the user in accordancewith data received from the console 1215. The display assembly 1230displays the content using one or more display elements (e.g., thedisplay elements 120). A display element may be, e.g., an electronicdisplay. In various embodiments, the display assembly 1230 comprises asingle display element or multiple display elements (e.g., a display foreach eye of a user). Examples of an electronic display include: a liquidcrystal display (LCD), an organic light emitting diode (OLED) display,an active-matrix organic light-emitting diode display (AMOLED), awaveguide display, some other display, or some combination thereof. Notein some embodiments, the display element 120 may also include some orall of the functionality of the optics block 1235.

The optics block 1235 may magnify image light received from theelectronic display, corrects optical errors associated with the imagelight, and presents the corrected image light to one or both eyeboxes ofthe headset 1205. In various embodiments, the optics block 1235 includesone or more optical elements. Example optical elements included in theoptics block 1235 include: an aperture, a Fresnel lens, a convex lens, aconcave lens, a filter, a reflecting surface, or any other suitableoptical element that affects image light. Moreover, the optics block1235 may include combinations of different optical elements. In someembodiments, one or more of the optical elements in the optics block1235 may have one or more coatings, such as partially reflective oranti-reflective coatings.

Magnification and focusing of the image light by the optics block 1235allows the electronic display to be physically smaller, weigh less, andconsume less power than larger displays. Additionally, magnification mayincrease the field of view of the content presented by the electronicdisplay. For example, the field of view of the displayed content is suchthat the displayed content is presented using almost all (e.g.,approximately 110 degrees diagonal), and in some cases, all of theuser's field of view. Additionally, in some embodiments, the amount ofmagnification may be adjusted by adding or removing optical elements.

In some embodiments, the optics block 1235 may be designed to correctone or more types of optical error. Examples of optical error includebarrel or pincushion distortion, longitudinal chromatic aberrations, ortransverse chromatic aberrations. Other types of optical errors mayfurther include spherical aberrations, chromatic aberrations, or errorsdue to the lens field curvature, astigmatisms, or any other type ofoptical error. In some embodiments, content provided to the electronicdisplay for display is pre-distorted, and the optics block 1235 correctsthe distortion when it receives image light from the electronic displaygenerated based on the content.

The position sensor 1240 is an electronic device that generates dataindicating a position of the headset 1205. The position sensor 1240generates one or more measurement signals in response to motion of theheadset 1205. The position sensor 190 is an embodiment of the positionsensor 1240. Examples of a position sensor 1240 include: one or moreIMUs, one or more accelerometers, one or more gyroscopes, one or moremagnetometers, another suitable type of sensor that detects motion, orsome combination thereof. The position sensor 1240 may include multipleaccelerometers to measure translational motion (forward/back, up/down,left/right) and multiple gyroscopes to measure rotational motion (e.g.,pitch, yaw, roll). In some embodiments, an IMU rapidly samples themeasurement signals and calculates the estimated position of the headset1205 from the sampled data. For example, the IMU integrates themeasurement signals received from the accelerometers over time toestimate a velocity vector and integrates the velocity vector over timeto determine an estimated position of a reference point on the headset1205. The reference point is a point that may be used to describe theposition of the headset 1205. While the reference point may generally bedefined as a point in space, however, in practice the reference point isdefined as a point within the headset 1205.

The DCA 1245 generates depth information for a portion of the localarea. The DCA includes one or more imaging devices and a DCA controller.The DCA 1245 may also include an illuminator. Operation and structure ofthe DCA 1245 is described above with regard to FIG. 1A.

The audio system 1250 provides audio content to a user of the headset1205. The audio system 1250 is substantially the same as the audiosystem 200 describe above. The audio system 1250 may comprise one oracoustic sensors, one or more transducers, and an audio controller. Insome embodiments, the one or more transducers may be implemented with acoil assembly 305, the coil assembly 305 may be configured to act as anelectrical pathway between a voice coil and an electrical source. Thecoil assembly may include a metal bobbin assembly, a voice coil, and oneor more nonconductive PCB stiffeners. In other embodiments, the one ormore transducers may be implemented with an optical MEMS sensor that maybe configured to monitor the movement of a diaphragm of a speaker. Insome embodiments, the one or more transducers may be implemented withmore than one optical MEMS sensors, which allow the audio system 1250 todetermine whether the diaphragm is in rocking mode.

The audio controller may include a micro noise generator module thatgenerates micro noises based in part on a determined state of a virtualobject in a virtual environment. In some embodiments, the micro noisegenerator module may generate a plurality of micro noises based in parton a nature of the virtual object or an action performed by the virtualobject. The audio system 1250 may apply sound filters to the pluralityof micro noises to spatialize the micro noise, such that the pluralityof micro noises appear to originate from the virtual object.

The audio controller may include a speaker tuning module 295 that isconfigured to determine if the diaphragm is in rocking mode and to tunespeaker algorithm parameters to move the diaphragm out of rocking mode.The speaker tuning module 295 may use signals received from a speakerincluding more than one optical MEMS sensors to determine whether thediaphragm is in rocking mode.

In some embodiments, the audio system 1250 may request acousticparameters from the mapping server 1225 over the network 1220. Theacoustic parameters describe one or more acoustic properties (e.g., roomimpulse response, a reverberation time, a reverberation level, etc.) ofthe local area. The audio system 1250 may provide information describingat least a portion of the local area from e.g., the DCA 1245 and/orlocation information for the headset 1205 from the position sensor 1240.The audio system 1250 may generate one or more sound filters using oneor more of the acoustic parameters received from the mapping server1225, and use the sound filters to provide audio content to the user.

The I/O interface 1210 is a device that allows a user to send actionrequests and receive responses from the console 1215. An action requestis a request to perform a particular action. For example, an actionrequest may be an instruction to start or end capture of image or videodata, or an instruction to perform a particular action within anapplication. The I/O interface 1210 may include one or more inputdevices. Example input devices include: a keyboard, a mouse, a gamecontroller, or any other suitable device for receiving action requestsand communicating the action requests to the console 1215. An actionrequest received by the I/O interface 1210 is communicated to theconsole 1215, which performs an action corresponding to the actionrequest. In some embodiments, the I/O interface 1210 includes an IMUthat captures calibration data indicating an estimated position of theI/O interface 1210 relative to an initial position of the I/O interface1210. In some embodiments, the I/O interface 1210 may provide hapticfeedback to the user in accordance with instructions received from theconsole 1215. For example, haptic feedback is provided when an actionrequest is received, or the console 1215 communicates instructions tothe I/O interface 1210 causing the I/O interface 1210 to generate hapticfeedback when the console 1215 performs an action.

The console 1215 provides content to the headset 1205 for processing inaccordance with information received from one or more of: the DCA 1245,the headset 1205, and the I/O interface 1210. In the example shown inFIG. 12 , the console 1215 includes an application store 1255, atracking module 1260, and an engine 1265. Some embodiments of theconsole 1215 have different modules or components than those describedin conjunction with FIG. 12 . Similarly, the functions further describedbelow may be distributed among components of the console 1215 in adifferent manner than described in conjunction with FIG. 12 . In someembodiments, the functionality discussed herein with respect to theconsole 1215 may be implemented in the headset 1205, or a remote system.

The application store 1255 stores one or more applications for executionby the console 1215. An application is a group of instructions, thatwhen executed by a processor, generates content for presentation to theuser. Content generated by an application may be in response to inputsreceived from the user via movement of the headset 1205 or the I/Ointerface 1210. Examples of applications include: gaming applications,conferencing applications, video playback applications, or othersuitable applications.

The tracking module 1260 tracks movements of the headset 1205 or of theI/O interface 1210 using information from the DCA 1245, the one or moreposition sensors 1240, or some combination thereof. For example, thetracking module 1260 determines a position of a reference point of theheadset 1205 in a mapping of a local area based on information from theheadset 1205. The tracking module 1260 may also determine positions ofan object or virtual object. Additionally, in some embodiments, thetracking module 1260 may use portions of data indicating a position ofthe headset 1205 from the position sensor 1240 as well asrepresentations of the local area from the DCA 1245 to predict a futurelocation of the headset 1205. The tracking module 1260 provides theestimated or predicted future position of the headset 1205 or the I/Ointerface 1210 to the engine 1265.

The engine 1265 executes applications and receives position information,acceleration information, velocity information, predicted futurepositions, or some combination thereof, of the headset 1205 from thetracking module 1260. Based on the received information, the engine 1265determines content to provide to the headset 1205 for presentation tothe user. For example, if the received information indicates that theuser has looked to the left, the engine 1265 generates content for theheadset 1205 that mirrors the user's movement in a virtual local area orin a local area augmenting the local area with additional content.Additionally, the engine 1265 performs an action within an applicationexecuting on the console 1215 in response to an action request receivedfrom the I/O interface 1210 and provides feedback to the user that theaction was performed. The provided feedback may be visual or audiblefeedback via the headset 1205 or haptic feedback via the I/O interface1210.

The network 1220 couples the headset 1205 and/or the console 1215 to themapping server 1225. The network 1220 may include any combination oflocal area and/or wide area networks using both wireless and/or wiredcommunication systems. For example, the network 1220 may include theInternet, as well as mobile telephone networks. In one embodiment, thenetwork 1220 uses standard communications technologies and/or protocols.Hence, the network 1220 may include links using technologies such asEthernet, 802.11, worldwide interoperability for microwave access(WiMAX), 2G/3G/4G mobile communications protocols, digital subscriberline (DSL), asynchronous transfer mode (ATM), InfiniBand, PCI ExpressAdvanced Switching, etc. Similarly, the networking protocols used on thenetwork 1220 can include multiprotocol label switching (MPLS), thetransmission control protocol/Internet protocol (TCP/IP), the UserDatagram Protocol (UDP), the hypertext transport protocol (HTTP), thesimple mail transfer protocol (SMTP), the file transfer protocol (FTP),etc. The data exchanged over the network 1220 can be represented usingtechnologies and/or formats including image data in binary form (e.g.Portable Network Graphics (PNG)), hypertext markup language (HTML),extensible markup language (XML), etc. In addition, all or some of linkscan be encrypted using conventional encryption technologies such assecure sockets layer (SSL), transport layer security (TLS), virtualprivate networks (VPNs), Internet Protocol security (IPsec), etc.

The mapping server 1225 may include a database that stores a virtualmodel describing a plurality of spaces, wherein one location in thevirtual model corresponds to a current configuration of a local area ofthe headset 1205. The mapping server 1225 receives, from the headset1205 via the network 1220, information describing at least a portion ofthe local area and/or location information for the local area. The usermay adjust privacy settings to allow or prevent the headset 1205 fromtransmitting information to the mapping server 1225. The mapping server1225 determines, based on the received information and/or locationinformation, a location in the virtual model that is associated with thelocal area of the headset 1205. The mapping server 1225 determines(e.g., retrieves) one or more acoustic parameters associated with thelocal area, based in part on the determined location in the virtualmodel and any acoustic parameters associated with the determinedlocation. The mapping server 1225 may transmit the location of the localarea and any values of acoustic parameters associated with the localarea to the headset 1205.

One or more components of system 1200 may contain a privacy module thatstores one or more privacy settings for user data elements. The userdata elements describe the user or the headset 1205. For example, theuser data elements may describe a physical characteristic of the user,an action performed by the user, a location of the user of the headset1205, a location of the headset 1205, an HRTF for the user, etc. Privacysettings (or “access settings”) for a user data element may be stored inany suitable manner, such as, for example, in association with the userdata element, in an index on an authorization server, in anothersuitable manner, or any suitable combination thereof.

A privacy setting for a user data element specifies how the user dataelement (or particular information associated with the user dataelement) can be accessed, stored, or otherwise used (e.g., viewed,shared, modified, copied, executed, surfaced, or identified). In someembodiments, the privacy settings for a user data element may specify a“blocked list” of entities that may not access certain informationassociated with the user data element. The privacy settings associatedwith the user data element may specify any suitable granularity ofpermitted access or denial of access. For example, some entities mayhave permission to see that a specific user data element exists, someentities may have permission to view the content of the specific userdata element, and some entities may have permission to modify thespecific user data element. The privacy settings may allow the user toallow other entities to access or store user data elements for a finiteperiod of time.

The privacy settings may allow a user to specify one or more geographiclocations from which user data elements can be accessed. Access ordenial of access to the user data elements may depend on the geographiclocation of an entity who is attempting to access the user dataelements. For example, the user may allow access to a user data elementand specify that the user data element is accessible to an entity onlywhile the user is in a particular location. If the user leaves theparticular location, the user data element may no longer be accessibleto the entity. As another example, the user may specify that a user dataelement is accessible only to entities within a threshold distance fromthe user, such as another user of a headset within the same local areaas the user. If the user subsequently changes location, the entity withaccess to the user data element may lose access, while a new group ofentities may gain access as they come within the threshold distance ofthe user.

The system 1200 may include one or more authorization/privacy serversfor enforcing privacy settings. A request from an entity for aparticular user data element may identify the entity associated with therequest and the user data element may be sent only to the entity if theauthorization server determines that the entity is authorized to accessthe user data element based on the privacy settings associated with theuser data element. If the requesting entity is not authorized to accessthe user data element, the authorization server may prevent therequested user data element from being retrieved or may prevent therequested user data element from being sent to the entity. Although thisdisclosure describes enforcing privacy settings in a particular manner,this disclosure contemplates enforcing privacy settings in any suitablemanner.

Additional Configuration Information

The foregoing description of the embodiments has been presented forillustration; it is not intended to be exhaustive or to limit the patentrights to the precise forms disclosed. Persons skilled in the relevantart can appreciate that many modifications and variations are possibleconsidering the above disclosure.

Some portions of this description describe the embodiments in terms ofalgorithms and symbolic representations of operations on information.These algorithmic descriptions and representations are commonly used bythose skilled in the data processing arts to convey the substance oftheir work effectively to others skilled in the art. These operations,while described functionally, computationally, or logically, areunderstood to be implemented by computer programs or equivalentelectrical circuits, microcode, or the like. Furthermore, it has alsoproven convenient at times, to refer to these arrangements of operationsas modules, without loss of generality. The described operations andtheir associated modules may be embodied in software, firmware,hardware, or any combinations thereof.

Any of the steps, operations, or processes described herein may beperformed or implemented with one or more hardware or software modules,alone or in combination with other devices. In one embodiment, asoftware module is implemented with a computer program productcomprising a computer-readable medium containing computer program code,which can be executed by a computer processor for performing any or allthe steps, operations, or processes described.

Embodiments may also relate to an apparatus for performing theoperations herein. This apparatus may be specially constructed for therequired purposes, and/or it may comprise a general-purpose computingdevice selectively activated or reconfigured by a computer programstored in the computer. Such a computer program may be stored in anon-transitory, tangible computer readable storage medium, or any typeof media suitable for storing electronic instructions, which may becoupled to a computer system bus. Furthermore, any computing systemsreferred to in the specification may include a single processor or maybe architectures employing multiple processor designs for increasedcomputing capability.

Embodiments may also relate to a product that is produced by a computingprocess described herein. Such a product may comprise informationresulting from a computing process, where the information is stored on anon-transitory, tangible computer readable storage medium and mayinclude any embodiment of a computer program product or other datacombination described herein.

Finally, the language used in the specification has been principallyselected for readability and instructional purposes, and it may not havebeen selected to delineate or circumscribe the patent rights. It istherefore intended that the scope of the patent rights be limited not bythis detailed description, but rather by any claims that issue on anapplication based hereon. Accordingly, the disclosure of the embodimentsis intended to be illustrative, but not limiting, of the scope of thepatent rights, which is set forth in the following claims.

What is claimed is:
 1. A coil assembly comprising: a metal bobbinassembly, the metal bobbin assembly comprising a first metal bobbin anda second metal bobbin; a wire coil that is positioned between the firstmetal bobbin and the second metal bobbin, configured to generate amagnetic field; and a nonconductive stiffener that is positioned betweena portion of the first metal bobbin and the second metal bobbin, thenonconductive stiffener configured to prevent shorting between the firstmetal bobbin and the second metal bobbin, wherein the bobbin assembly isconfigured to create an electrical pathway between the wire coil and anelectrical source.
 2. The coil assembly of claim 1, wherein the firstmetal bobbin further comprises a first face and a second face, the firstface facing the wire coil and is anodized.
 3. The coil assembly of claim2, wherein the first metal bobbin further comprises a first electricaltab, the first electrical tab making an angle of 0 degrees to 180degrees with respect to the first face of the first metal bobbin, thefirst electrical tab configured to make contact with a first end of thewire coil.
 4. The coil assembly of claim 1, wherein the second metalbobbin further comprises a first face and a second face, the first facefacing the wire coil and is anodized.
 5. The coil assembly of claim 4,wherein the second metal bobbin comprises a second electrical tab, thesecond electrical tab making an angle of 0 degrees to 180 degrees withrespect to the first face of the second metal bobbin, the secondelectrical tab configured to make contact with a second end of the wirecoil.
 6. The coil assembly of claim 5, wherein the first electrical taband the second electrical tab are treated with metal plating.
 7. Amethod, comprising: determining a state of a virtual object, the stateindicating whether the virtual object is available to interact with auser; generating a plurality of micro noises based in part on thedetermined state; and spatializing the plurality of micro noises, suchthat the plurality of micro noises appear to originate from the virtualobject.
 8. The method of claim 7, wherein the micro noises are generatedon a user's device.
 9. The method of claim 7, wherein virtual objectsare assigned different micro noises, based in part on a type of thevirtual object.
 10. The method of claim 7, further comprising: capturingnoises made by the user; generating, using the captured noises made bythe user, one or more micro noises unique to the user; and generating apresence audio profile for the user using the one or more generatedmicro noises.
 11. The method of claim 10, wherein the plurality ofgenerated micro noises matches a movement of the virtual object.
 12. Aspeaker comprising: an optical micro-electromechanical systems (MEMS)sensor, the optical MEMS sensor configured to optically monitor aportion of a speaker diaphragm; and a controller configured to:determine displacement of the speaker diaphragm based in part on theoptically monitored portions of the speaker diaphragm; determine thatthe speaker diaphragm is in a rocking mode using the determineddisplacement; and adjust drive parameters for the speaker diaphragm tomove the speaker diaphragm out of the rocking mode.
 13. The speaker ofclaim 12, wherein the controller is further configured to perform anaction selected from a group of actions comprising: use the determineddisplacement as a feedback signal for identification of speaker systemparameters; and use the determined displacement for direction control.14. The speaker of claim 12, wherein the optical MEMS sensor furthercomprises: a light source, configured to emit light; a diffractiongrating, configured to diffract light from the light source into aplurality of beams, the plurality of beams directed toward the speakerdiaphragm; and a light sensor, configured to detect the diffracted lightbeams.
 15. The speaker of claim 14, wherein the light sensor ispositioned adjacent to the light source and below the diffractiongrating.
 16. The speaker of claim 14, further comprising: a plurality ofoptical MEMs sensors, recessed into a top of a pole piece, positionedunder a speaker diaphragm.
 17. The speaker of claim 14, furthercomprising: a plurality of optical MEMs sensors, positioned on a frameof a headset, above the speaker diaphragm.
 18. The speaker of claim 14,the controller further configured to: instruct a light source to emit alight beam toward the speaker diaphragm.
 19. The speaker of claim 12,the controller further configured to: apply a depth determinationtechnique to determine the displacement of the speaker diaphragm. 20.The speaker of claim 12, the controller further configured to:identifying two symmetrical points on the speaker diaphragm; anddetermining that the two symmetrical points have opposite displacement.